Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Auto Splitting runtime in livesplit-core #749

Merged
merged 1 commit into from
Dec 17, 2023

Conversation

CryZe
Copy link
Collaborator

@CryZe CryZe commented Dec 17, 2023

The auto splitting runtime that lives directly in livesplit-core used to have a channel that communicates with the background thread where the auto splitter is getting executed. This channel was also used for accessing and modifying the settings. However the design for the settings has improved a lot to the point where multiple threads can interact with them entirely lock free. This change removes the channel entirely and instead provides the lock free way of interacting with the settings.

Additionally there's a separate change where the auto splitter can now be precompiled and instantiated separately. This allows you to restart an auto splitter without also having to recompile it.

@CryZe CryZe added enhancement An improvement for livesplit-core. feature A new user visible feature for livesplit-core. performance Affects the performance of the code. auto splitting This is about the auto splitting implementation. labels Dec 17, 2023
@CryZe CryZe added this to the v0.14 milestone Dec 17, 2023
The auto splitting  runtime that lives directly in `livesplit-core` used
to have a channel that communicates with the background thread where the
auto splitter is getting executed. This channel was also used for
accessing and modifying the settings. However the design for the
settings has improved a lot to the point where multiple threads can
interact with them entirely lock free. This change removes the channel
entirely and instead provides the lock free way of interacting with the
settings.

Additionally there's a separate change where the auto splitter can now
be precompiled and reinstantiated separately. This allows you to restart
an auto splitter without also having to recompile it.
@CryZe CryZe force-pushed the precompile-non-blocking branch from 105c148 to 6535a89 Compare December 17, 2023 21:38
@CryZe CryZe merged commit 754799c into LiveSplit:master Dec 17, 2023
76 checks passed
@CryZe CryZe deleted the precompile-non-blocking branch December 17, 2023 21:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto splitting This is about the auto splitting implementation. enhancement An improvement for livesplit-core. feature A new user visible feature for livesplit-core. performance Affects the performance of the code.
Projects
Development

Successfully merging this pull request may close these issues.

1 participant